import logging
import os
import time
from logging import handlers

from confing import DIR_PATH


def init_log():
    # 定义日志器
    logger = logging.getLogger()
    # 设置日志器级别：DEBUG INFO WARNING ERROR CRITICAL
    logger.setLevel(logging.INFO)
    # 定义处理器:控制台处理器
    sh = logging.StreamHandler()
    # 定义处理器:文件处理器
    # 存放日志文件的位置
    file = DIR_PATH + os.sep + "log" + os.sep + "p2p-{}.log".format(time.strftime("%Y%m%d"))
    fh = logging.handlers.TimedRotatingFileHandler(filename=file,  # 日志文件名
                                                   when="midnight",  # 切割日志时间
                                                   interval=2,  # 按照每2个午夜0点切分日志
                                                   backupCount=3,  # 保存日志数量/个数
                                                   encoding="utf-8"  # 字符集
                                                   )
    # 定义格式化器
    fmt = "%(asctime)s %(levelname)s [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s"
    formatter = logging.Formatter(fmt)
    # 设置处理器的格式
    sh.setFormatter(formatter)
    fh.setFormatter(formatter)
    # 将处理器添加到日志器
    logger.addHandler(sh)
    logger.addHandler(fh)

if __name__ == '__main__':
    init_log()
    logging.info("测试日志信息~~~~")